package com.ygqh.baby.service.task;

import com.ygqh.baby.model.YgProduct4ListModel;

import java.util.List;

/**
 * 秒杀活动任务接口
 *
 * @author Ss
 */
public interface YgProductSecondTaskService {

    /**
     * 秒杀活动——更新商品信息
     */
    @Deprecated
	void changeProductPriceBySecond();

    /**
     * 执行秒杀活动任务
     *
     * @param secondId 活动id
     * @param taskType 任务类型（Start, End）
     */
    void doProductSecondJob(Long secondId, String taskType);

    /**
     * 秒杀活动开始——更新商品信息
     *
     * @param productList 商品信息集
     */
    void updateSecondPriceToSalePrice(List<YgProduct4ListModel> productList);

    /**
     * 秒杀活动结束——更新商品信息
     *
     * @param productList 商品信息集
     */
    void updateSalePriceToSecondPrice(List<YgProduct4ListModel> productList);

    /**
     * 执行活动变更前的逻辑
     *
     * @param secondId 活动id
     */
    void processSecondBeforeUpdate(Long secondId);

    /**
     * 执行活动保存后的逻辑
     *
     * @param secondId 活动id
     */
    void processSecondAfterSave(Long secondId);

    /**
     * 删除秒杀活动任务
     *
     * @param secondId 活动id
     * @param taskType 任务类型（Start, End）
     * @param handler 操作者
     */
    void deleteProductSecondJob(Long secondId, String taskType, String handler);
}
